package com.cloud.bssp.nio.bytebuffer;

import java.nio.ByteBuffer;

/**
 * @description： byteBuffer读写
 * @author：weirx
 * @date：2021/5/18 10:22
 * @version：3.0
 */
public class ByteBufferReadWrite {

    public static void main(String[] args) {
        ByteBuffer buffer1 = ByteBuffer.allocate(16);
        ByteBuffer buffer2 = ByteBuffer.allocateDirect(16);

        buffer1.flip();

        //java.nio.HeapByteBuffer[pos=0 lim=16 cap=16]
        //java 堆内存，读写效率低，受gc影响
        System.out.println(buffer1);
        //java.nio.DirectByteBuffer[pos=0 lim=16 cap=16]
        //直接内存 读写效率高（少一次拷贝），不收gc影响，分配的效率低，注意关闭，否则会造成内存泄漏
        System.out.println(buffer2);
    }
}
